System for remotely swinging a golf club

ABSTRACT

A method, system, and computer program product for remote golf club swinging is provided. The method can include receiving in a robotic golf club swing fixture from a remote operator over a computer communications network a set of swing parameters defining different aspects of a golf club swing. The method also can include directing a plurality of robotic arms of the fixture to swing a coupled golf club according to the received swing parameters. The method yet further can include sensing a result of the swinging of the coupled golf club. Finally, the method can include transmitting data derived from the sensed result to the remote operator over the computer communications network.

BACKGROUND OF THE INVENTION

Field of the Invention

The present invention relates to golf clubs and, more particularly, torobotically swinging golf clubs.

Description of the Related Art

Golf is a difficult game that to master requires practice and skillThere is a high degree of interest in the game from golfers, butnon-golfers as well find challenges such as trying to make a“hole-in-one” or attempting to hit the longest drive, off a golf tee, ofinterest. In order to experience these activities, a person must travelto a golf course, driving range, or golf simulator and use golfequipment to strike the ball.

Further, golf is a sport where the correct equipment is essential to thesuccess and enjoyment of the activity. There are many different makesand models of golf equipment, including golf clubs. Each golf clubmanufacturer may make the same type of club slightly differently. Forexample, one manufacturer may produce a golf club with a shaft made fromsteel, while another equipment manufacturer may use graphite for theshaft. Testing a particular golf club or set of clubs helps to ensure aclub is the correct size and weight for an individual player in additionto offering the right design characteristics for the player.

To test a golf club, a player has to travel to a hitting area, whetherat a store, at a driving range, or use a golf simulator to play-test theclub by striking golf balls. This, however, can be difficult andundesirable in an age of Internet shopping from the comfort of one's ownhome. Further, in order to play-test a golf club appropriately, a playershould test in the same environment for each type of club. For example,if a player is testing woods, he/she should play them off the same lie,using the same type of tee or play surface, in order to get an accuratecomparison between the clubs. Testing can involve hitting for distance,accuracy, and/or control.

BRIEF SUMMARY OF THE INVENTION

Embodiments of the present invention address deficiencies of the art inrespect to remotely swinging golf clubs and provide a novel andnon-obvious method, system, and computer program product for remotelyswinging golf clubs. In an embodiment of the invention, a set of swingparameters from a remote operator can be received over a computercommunications network. The swing parameters can define differentaspects of a golf club swing. A plurality of robotic arms in a roboticgolf club swing fixture can be directed to swing the attached golf club.A ball flight result of the swinging of the golf club can be sensed andthe data derived from the sensed result can be transmitted to the remoteoperator over the computer communications network.

Another embodiment of the invention provides for a remote golf clubswinging system. The system can include a server configured forcommunicative coupling to a web server and a computing device. A roboticgolf club swing fixture also can be provided and can include a servomotor coupled to a controller, a data capture apparatus coupled to thecontroller, and a plurality of robotic arms attached to the servo motor.Each robotic arm can be coupled to a golf club. The remote golf clubtesting module can include program code for receiving from a remoteoperator over a computer communications network a set of swingparameters defining different aspects of a golf club swing, fordirecting a plurality of robotic arms of the fixture to swing a coupledgolf club according to the received swing parameters, for sensing aresult of the golf club, and for transmitting data derived from thesensed result to the remote operator over the computer communicationsnetwork.

In another embodiment of the invention a remote golf club testing methodcan be provided. In an embodiment of the invention, a set of swingparameters from a remote operator can be received over a computercommunications network. The swing parameters can define differentaspects of a golf club swing. A plurality of robotic arms in a roboticgolf club swing fixture can be directed to swing the attached golf club.Performance of the golf club can be sensed and the data derived from theperformance can be transmitted to the remote operator over the computercommunications network.

Additional aspects of the invention will be set forth in part in thedescription which follows, and, in part, will be obvious from thedescription, or may be learned by practice of the invention. The aspectsof the invention will be realized and attained by means of the elementsand combinations particularly pointed out in the appended claims. It isto be understood that both the foregoing general description and thefollowing detailed description are exemplary and explanatory only andare not restrictive of the invention, as claimed.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute partof this specification, illustrate embodiments of the invention and,together with the description, serve to explain the principles of theinvention. The embodiments illustrated herein are presently preferred;it is understood, however, that the invention is not limited to theprecise arrangements and instrumentalities shown, wherein:

FIG. 1 is a pictorial illustration of a process for remotely swinging agolf club;

FIG. 2 is a schematic illustration of a remote swinging systemconfigured for remotely swinging a golf club; and,

FIG. 3 is a flow chart illustrating a process for remotely swinging agolf club.

DETAILED DESCRIPTION OF THE INVENTION

Embodiments of the invention provide for remotely swinging a golf club.In accordance with an embodiment of the invention, a remote operator canspecify one or more parameters associated with the swinging of a golfclub, such as power and direction. The specified parameters can beprovided over a computer communications network to a remotely disposedrobotic test fixture configured to swing a golf club through theactivation of one or more robotic arms. Thereafter, the robotic testfixture can swing the golf club according to the received parameters andthe resulting performance of the golf club and/or the shot can bemeasured. Finally, the resulting measurements can be provided to theremote operator over the network such that the performance of the golfclub and/or the ball subsequent to the swing can be presented andvisualized by the remote operator without requiring the remote operatorto be physically present in the same place as where the golf club hitthe golf ball.

In further illustration, FIG. 1 depicts a process for remotely swinginga golf club. As shown in FIG. 1, an end user 105 on a computing device110 can set multiple, different swing parameters 108 via differentgraphical user interfaces from a web page 125 in a web browser 120. Theswing parameters 108 can define different aspects of a golf club swing,including but not limited to direction, velocity, power, and shot shape.Further, the swing parameters 108 can be presented as a percentage or anumber, for instance from one through one hundred, where one can be thelowest value and one hundred can be the highest value. Once the end user105 is satisfied with his or her selections, the end user 105 can selecta “Swing” button 112 or another graphical user interface.

The selection of the “Swing” button 112 can cause the swing parameters108 to be sent over a communication network 140, such as the Internet,to a server 125. Golf club swinging logic 175 executing on the server125 can format the swing parameters 108. In one embodiment, golf clubswinging logic 175 can format the swing parameters 108 to a data string.Golf club swinging logic 175 can forward the swing parameters 108 torobotic golf club swing fixture 199 over a communications network 140.The robotic golf club swing fixture 199 can include a controller 155.The controller 155 can direct a robot 145 to swing an attached golf club185 using the swing parameters 108. In another embodiment, the golf clubswinging logic 175 can be executed in memory on the controller 155 whichcan format the swing parameters 108 to a data string. The controller 155can forward the swing parameters 108 to robotic golf club swing fixture199 over a serial cable or other cable connection. The golf club 185 canbe further in contact with a golf ball. When the golf club 185 is swungby the robot 145, the golf ball can be hit and take flight. Of note, thecontroller 155 can be coupled to the robot 145 via a serial cable.

The controller 155 can capture data--for instance, launch data relatedto the golf club swing and to the flight of the golf ball. In anembodiment, golf club swinging logic 175 can calculate data 122 from any(raw) data captured by the controller 155 during a golf swing. In adifferent embodiment, a controller 155 can generate the data 122directly for each golf club swing. In another embodiment, a computerprogram executing in memory on the controller can capture and/orcalculate any data 122 related to a golf club swing and/or the motion ofa golf ball. Further, in yet even another embodiment, multiple,different external devices, such as cameras 170, launch monitors 172,and tracking apparatus, can be used to capture information or data 122related to the golf club swing and/or flight of the ball. For instance,a launch monitor 172 may capture launch conditions related to the swingof the golf club 185 and of a ball being struck by the club 185.Further, cameras 170 can be positioned in such a way to capture theswing of the golf club 185, the contact between the club 185 and ball aswell the flight and landing of a ball around a landing area 186. Ofnote, the landing area 186 can be outside. Thus, in a embodiment, arobotic golf club swing fixture 199 can be operated remotely and data122 can be recorded with cameras 170 and launch monitors 172 to show agolf club swing and how the ball flies and where the ball lands as aresult of the swing outside. Data 122 related to the golf club swing andto the flight of the ball can include but is not limited to head speed,ball speed, vertical launch angle, horizontal launch angle, back spin,side spin, peak trajectory, descent angle, descent velocity, carrydispersion, carry distance, total dispersion, and total distance.

Optionally, a golf simulator can be present. Note a golf simulator canbe coupled to different components depending on how it is being used. Inan embodiment, data captured from the resulting swing of the coupledclub 185 by at least one camera 170 and/or at least one launch monitor172 can be sent to a coupled golf simulator. More specifically, in anembodiment, the golf simulator can be coupled to the controller 155. Ofnote, it is contemplated that a computer program or programs on the golfsimulator, the controller 155, the server 200, or other component, candetermine from the raw data sensed from the swing the resulting effecton a golf ball. In other words, the club 185 is swung by the robot andthe raw data can be collected and be processed by several differentcomponents. The movement of the ball can be displayed to an end user 105via the golf simulator, in one embodiment. Further, the golf simulatorcan display information related to accuracy (to the hole), distance (tothe hole), and who (which player, in a game setting, for instance) isclosest to the pin. In a different embodiment, the golf simulator canreplace the launch monitor 172, thus directly capturing the dataresulting from a golf swing. In another embodiment, the golf simulatorcan be an external apparatus that can detect swing data directly fromthe controller 155. In yet another embodiment, the golf simulator usesthe data captured by the launch monitor 172, but may calculate resultsso as predict the result of the golf ball using an algorithm. In yet afurther embodiment, golf simulator can be coupled to the server 200 andcan receive swing parameters 108 from the golf club swing logic 175 upona user selecting a swing button 112 after selecting swing parameters108. The golf simulator can use the raw data to calculate the launchdata 122 and then display the theoretical movement of the golf ball toan end user 105 based on the calculations. In other words, in anembodiment, the robotic golf club swing fixture 199 is actually notswung, but a potential outcome is calculated by the simulator anddisplayed to an end user 105. Of note, if an embodiment where there isno hitting a physical golf ball, a landing area 186 is not needed.Depending on how a golf simulator is being used, the simulator canfurther display the theoretical swing or the actual swing (captured bythe cameras 170) as well as the trajectory and resulting location of thegolf ball without requiring the ball and/or the robotic golf club swingfixture 199 to be located outside.

In addition, the robotic golf club swing fixture 199 can further includeat least one camera 170 coupled to the controller 155 can capture thegolf swing and/or the motion of the golf ball. In one embodiment, atleast one camera 170 can be a web camera, and the golf club swing and/orthe motion of the golf ball can be streamed to the end user via awebsite, content browser, or a web browser 120. The data 122 related tothe golf club swing can be transmitted to the end user 105 over thecomputer communications network 140 and can be displayed on a web page125, in a web browser 120, or other content browser. Of note, the webpage 125 can include additional information related to the swinging of agolf club and to the conditions during which the golf club 185 is beingswung, including information related to weather, equipment, and terrain.In another embodiment, one or more cameras 170 can be set at the golfball landing area 186, such as a golf green, to show the end user 105the golf ball landing position relative to a golf green or fairway. Thecamera(s) 170 located at a golf ball landing area 186 can be coupled tothe controller 155, thus, being part of the robotic golf club swingfixture 199 or be separate, but capable of transmitting data(information) via a computer communications network to the controller155 of the fixture 199 and/or to the server 125 on which the golf clubswinging logic 175 is executing.

The process described in connection with FIG. 1 can be implemented in agolf club swinging system. In further illustration, FIG. 2 is aschematic illustration of a remote swinging system configured forremotely swinging a golf club. The system can include a server 200 withat least one processor 210 and memory 205 supporting the executing of anoperating system (O/S) 215. A golf club testing module 300 can executein memory 205 of the server 200 as well as be coupled via acommunications network 275 to a robotic golf club swing fixture 299. Ofnote, a golf club testing module 300 can additional be executing inmemory of a controller 260 of the robotic golf club swing fixture 299(not pictured). The server 200 can be coupled to a computing device 250,which a remote operator (an end user) from a web site can select a setof swing parameters defining different aspects of a golf swing. Further,the server 200 can be coupled via a communications network 275 to a webserver 225 as well as the robotic golf club swing fixture 299. Anoptional golf simulator 292 can further be coupled to either thecontroller 260 or the server 200 depending on how the golf simulator isbeing used as will be further explained below.

The robotic golf club swing fixture 299 can include multiple, differentdata capture apparatuses 245, a controller 260, at least one servo motor265, a plurality of robotic arms 270, and multiple, different golf clubs285. The multiple, different data capture apparatuses 245 can behardware, such as launch monitors and cameras, that are coupled to thecontroller 260. The data capture apparatuses 245 can be used to capturedata related to the swing of the golf club 285 and/or the golf ball,such as, but not limited to, the impact of the club 285 on a ball,launch conditions of a ball, and ball flight and landing. Of note, inone embodiment, the computer program or programs used to run thedifferent data capture apparatuses 245 can be executed in memory of thecontroller 260. Further, the devices can be run independently ortogether. Of further note, as noted above, the golf club swinging module300 can be executing in memory on the controller 260. It is furthercontemplated that there may be an embodiment, where any functionalityperformed by the server 200 is performed by the controller 260. Inanother embodiment, multiple, separate computers or controllers 260 canbe used to operate the data capture apparatuses 245. The controller 260can be coupled to a servo motor 265, which can send signals to at leastone robotic arm 270. Each robotic arm 270 can be coupled to a golf club285, which upon receiving a signal, prompts the golf club 285 to swing.Of note, in an embodiment, the robotic golf club swing fixtures 299includes one robotic arm 270 coupled to a single golf club 285.

Of note, in an embodiment, an optional golf simulator 292 can be coupledto the controller 260. In an embodiment, the golf simulator 292 cancapture data associated with the swing of a golf club 285 from a datacapture apparatus 245, such as a launch monitor. In one instance, a golfball hit by the swinging golf club 285 in the fixture 299 would hit ascreen or similar component coupled to the golf simulator 292. Thesimulator 292 can capture the data associated with the ball andcalculate a variety of parameters associated with the ball when it hitsthe screen. In another instance, the simulator 292 can capture the dataassociated with the swing of the club 285. In other words, the screen isjust used as a target for the ball and/or to contain the golf ball. Ineither instance, the golf simulator 292 can calculate and display theflight (the path) and landing (resulting location) of the golf ball.

In another embodiment, the golf simulator 292 can be coupled to thecontroller 260 and replace at least one data capture apparatus 245, suchas the launch monitor or a camera. Of note, a screen or similarcomponent can, but does not have to, be coupled to the golf simulator292. The golf simulator 292 can capture data related to the golf clubswing directly from the controller 260. The golf simulator can thenprocess the data collected as needed so to display the path of the golfball, the swing of the club 285, and/or the resulting location of theball to a computing device 250 of an end user. In other words, in anembodiment, an end user can remotely initiate a swing of the swingfixture 299, but instead of physically hitting a coupled golf ball, theresulting data from the swing can be captured and transmitted to thesimulator 292. The golf simulator 292 can display a calculated resultinglocation and/or path of the golf ball based upon the data derived fromthe sensed result of the swinging of the coupled golf club 285. Further,the golf simulator 292 can display information related to accuracy (tothe hole), distance (to the hole), and who (which player, in a gamesetting, for instance) is closest to the pin.

In another embodiment, a golf simulator 292 can be coupled to a server200. The golf club swinging module 300 can include program code enabledto send the golf simulator 292 (most likely, without a screen) swingparameters. In one instance, the golf simulator 292 can use the raw datato calculate the launch data and then display the theoretical movementof the golf ball to a computing device 250 of an end user 105 based onthe calculations. In this way, the fixture 299 is never swung and a ballnot hit; instead, there the golf simulator 292 can calculate the path ofthe ball and the swing of the club 285 based on the received swingparameters.

Note, that in the embodiments described above, golf club swinging module300 can perform the tasks described above, such as but not limited to,collecting data, receiving parameters, transmitting parameters,calculating data, displaying resultant data, regardless of where themodule 300 is being executed in memory (the server 200, the controller260, the golf simulator 292, etc.) In other words, it is contemplatedthat the module 300 can be executing in memory on a variety of computingdevices.

As noted above, a robotic golf club swing fixture 299 can be coupled tomultiple, different data capture apparatuses 245, including at least onecamera. The camera can be a web camera and can stream images of at leastone of the plurality of robotic arms swinging the golf club 285 to aremote operator over the communications network 275. Specifically, theimages can be streamed to a web site or content browser which a remoteoperator on a computing device 250 can be using. Additionally at leastone camera, such as a web camera, can be located at the target hittingarea (or landing area) to show an end user the results of a golf shot,including but not limited to the resulting location of a golf ballstruck by the coupled golf club 285 after the swinging of the golf club285. Of note, the additional camera(s) showing the end user the resultsof the golf shot, in one embodiment, can be coupled to the controller260 (part of the robotic golf club swing fixture 299) or, in a differentembodiment, the camera(s) can be separate. In any case, the camera(s)can transmit data (information) via a computer communications network tothe controller 260 of the fixture 299 and/or to the server 200 on whichthe golf club swinging module 300 is executing upon. In other words,cameras, regardless of how they are connected, can be located at atarget hitting area so to capture the resulting location of a golf balland/or the path the ball took and can transmit the data (images) to anend user. Of further note, the camera may be controlled by a computerprogram executing in memory of the controller 260 or a computer programmay be executing in memory of the camera itself. In other words, thedata capture apparatuses 245 can operate using any method now known orlater developed.

The golf club swinging module 300 can include program code, which whenexecuted by at least one processor 210 on the server 200 can receivefrom a remote operator over a computer communications network 275 a setof swing parameters defining different aspects of a golf club swing. Theremote operator can select the set of parameters from a web page beingdisplayed on a computing device 250. Upon receiving a set of swingparameters, the golf club testing module 300 can further include programcode that can direct the plurality of robotic arms 270 to swing thecoupled golf club 285 according to the received swing parameters. Ofnote, multiple robotic arms 270 can be coupled to each servo motor 265or just one robotic arm 270 can be coupled to each servo motor. Themodule 300 can further include program code to sense a result of theswinging of the coupled golf club and the data derived from the sensedresult can be transmitted to the remote operator over the computercommunications network. The result of the swung golf club can include,but is not limited to, a sensed performance of the golf club, aresulting location of a golf ball struck by the coupled golf clubsubsequent to the swinging of the coupled golf club.

Optionally, the module 300 can include program code to transmit the dataderived from the sensed result to a golf simulator 292. If needed(depending of the type and/or format of the data sent), the golfsimulator 292 can process the data in order to display the theoreticalmovement of the golf ball to an end user in response to the swinging ofthe golf club 285. In other words, in an embodiment, an end user canremotely initiate a swing of the swing fixture 299, but instead ofphysically hitting a coupled golf ball, the resulting data from theswing can be captured and transmitted to the simulator 292. The golfsimulator 292 can display a calculated resulting location and/or path ofthe golf ball based upon the data derived from the sensed result of theswinging of the coupled golf club 285. Further, the golf simulator 292can display information related to accuracy (to the hole), distance (tothe hole), and who (which player, in a game setting, for instance) isclosest to the pin.

In even further illustration of the operating of the program code of thegolf club swinging module, FIG. 3 is a flow chart illustrating a processfor remotely swinging a golf club. Beginning in block 305, a set ofswing parameters defining different aspects of a golf club swing can bereceived from a remote operator over a computer communications network.The swing parameters can include, but are not limited to, direction,velocity, power, and shot shape. The swing parameters can be selected bya remote operator using a graphical user interface displayed on awebsite. Of note, a remote operator can be an end user using a computingdevice. Of further note, the swing parameters can be converted to dataformat, if required, so that the swing parameters can be forwarded to aplurality of robotic arms of a robotic golf club test fixture, so thatthe plurality of robotic arms can be directed to swing a coupled golfclub according to the received swing parameters, as shown in block 315.Of note, the golf club can also be in contact with a golf ball, so thatwhen a robotic arm is direct to be swung, the golf club strikes the golfball causing the golf ball to move.

In response to the golf club swing, a result of the swinging golf clubcan be sensed, as illustrated in block 325. The sensed result of theswinging golf club can include sensing the performance of the golf clubas well as a resulting location of a golf ball struck by the coupledgolf club subsequent to the swinging of the coupled golf club.Additional data related to a golf club or golf ball can be sensed. Thedata sensed can be collected, as shown in block 335. Data captureapparatuses, such as cameras, launch monitors, tracking devices, etc.(or the computer programs operating these apparatuses) may only captureraw data related to the golf club swing and/or the flight of a golfball; therefore, this data may need to be collected for furtherprocessing. Though, it is noted, the data capture apparatuses may beable to analyze the data related to the impact of the ball upon theswinging of the golf club, launch conditions of the ball, ball flight,and ball landing. Of note, if necessary, the module 300 can calculatedata from the collected data, as indicated in block 345. In other words,if the data captures apparatuses (or the related computer programs) donot analyze the raw data, the raw data may need to be manipulated sothat more useful data can be derived, such as launch data related to thegolf club swing and/or the golf ball, including but not limited to headspeed, ball speed, vertical launch angle, horizontal launch angle, backspin, side spin, peak trajectory, descent angle, descent velocity, carrydispersion, carry distance, total dispersion, and total distance. Upondata being derived (collected and/or calculated) from the sensed resultof the golf swing, the data derived can be transmitted, as shown inblock 355. The data can be transmitted to a remote operator over thecomputer communications network. In one embodiment, the data can betransmitted to a remote operator so as to be displayed on a web page viaa web browser. In another embodiment, the data can first be transmittedto a golf simulator. The golf simulator can then display a resultinglocation and/or path of the golf ball based upon the data collected inblock 335 to the remote operator. If necessary, the golf simulator cancalculate a predicted result of the golf ball based on the sensed resultof the golf club swing.

In addition to a remote golf club swinging method, the invention hereincan further be used to remotely test a golf club. In a embodiment, aremote golf club testing method can include receiving in a robotic golfclub swing fixture from a remote operator over a computer communicationsnetwork a set of swing parameters defining different aspects of a golfclub swing, directing a plurality of robotic arms of the fixture toswing a coupled golf club according to the received swing parameters,sensing performance of the golf club, and transmitting data derived fromthe sensed performance to the remote operator over the computercommunications network.

Another embodiment of the invention can include a remote golf clubtesting system. The system can include a server configured forcommunicative coupling to a web server and a computing device. A roboticgolf club swing fixture also can be provided and can include a servomotor coupled to a controller and a plurality of robotic arms attachedto the servo motor. In one embodiment, the robotic golf club swingfixture can include one robotic arm. In another embodiment, the roboticgolf club swing fixture can include multiple, different robotic arms.Each robotic arm can be coupled to a golf club. The remote golf clubswinging module can include program code for receiving from a remoteoperator over a computer communications network a set of swingparameters defining different aspects of a golf club swing, fordirecting a plurality of robotic arms of the fixture to swing a coupledgolf club according to the received swing parameters, for sensingperformance of the golf club, and for transmitting data derived from thesensed performance to the remote operator over the computercommunications network. The swing parameters can include, but are notlimited to direction, power, and velocity.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module,” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied therein.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the aforementioned.More specific examples (a non-exhaustive list) of the computer readablestorage medium include the following: an electrical connection havingone or more wires, a portable computer diskette, a hard disk, a randomaccess memory (RAM), a read-only memory (ROM), an erasable programmableread-only memory (EPROM or Flash memory), an optical fiber, a portablecompact disc read-only memory (CD-ROM), an optical storage device, amagnetic storage device, or any suitable combination of theaforementioned. In the context of this document, a computer readablestorage medium may be any tangible medium that can contain or store aprogram for use by, or in connection with, an instruction executionsystem, apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied in a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, radiofrequency, and the like, or anysuitable combination of the aforementioned. Computer program code forcarrying out operations for aspects of the present invention may bewritten in any combination of one or more programming languages,including an object oriented programming language and conventionalprocedural programming languages. The program code may execute entirelyon the user's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer, or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Aspects of the present invention have been described above withreference to flowchart illustrations and/or block diagrams of methods,apparatus (systems) and computer program products according toembodiments of the invention. In this regard, the flowchart and blockdiagrams in the Figures illustrate the architecture, functionality, andoperation of possible implementations of systems, methods and computerprogram products according to various embodiments of the presentinvention. For instance, each block in the flowchart or block diagramsmay represent a module, segment, or portion of code, which comprises oneor more executable instructions for implementing the specified logicalfunction(s). It should also be noted that, in some alternativeimplementations, the functions noted in the block might occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed concurrently, or the blocks may sometimes beexecuted in the reverse order, depending upon the functionalityinvolved. It will also be noted that each block of the block diagramsand/or flowchart illustration, and combinations of blocks in the blockdiagrams and/or flowchart illustration, can be implemented by specialpurpose hardware-based systems that perform the specified functions oracts, or combinations of special purpose hardware and computerinstructions.

It is also understood that each block of the flowchart illustrationsand/or block diagrams, and combinations of blocks in the flowchartillustrations and/or block diagrams, can be implemented by computerprogram instructions. These computer program instructions may beprovided to a processor of a general purpose computer, special purposecomputer, or other programmable data processing apparatus to produce amachine, such that the instructions, which execute via the processor ofthe computer or other programmable data processing apparatus, createmeans for implementing the functions/acts specified in the flowchartand/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks. The computer program instructions may also beloaded onto a computer, other programmable data processing apparatus, orother devices to cause a series of operational steps to be performed onthe computer, other programmable apparatus or other devices to produce acomputer implemented process such that the instructions which execute onthe computer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

Finally, the terminology used herein is for the purpose of describingparticular embodiments only and is not intended to be limiting of theinvention. As used herein, the singular forms “a,” “an” and “the” areintended to include the plural forms as well, unless the context clearlyindicates otherwise. It will be further understood that the terms“comprises” and/or “comprising,” when used in this specification,specify the presence of stated features, integers, steps, operations,elements, and/or components, but do not preclude the presence oraddition of one or more other features, integers, steps, operations,elements, components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present invention has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the invention. Theembodiment was chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention invarious embodiments with various modifications as are suited to theparticular use contemplated.

Having thus described the invention of the present application in detailand by reference to embodiments thereof, it will be apparent thatmodifications and variations are possible without departing from thescope of the invention defined in the appended claims as follows:

1.-27. (canceled)
 28. A remote golf club swinging method comprising: receiving, by a processor executing in a memory of a computer and coupled to a robotic golf club swing fixture, from a remote operator over a computer communications network a set of swing parameters in response to the remote operator setting the set of swing parameters in a graphical user interface (GUI) in a web browser on a computing device remotely disposed from the robotic golf club swing fixture; directing, by the processor, a plurality of robotic arms of the robotic golf club swing fixture to swing a coupled golf club resulting in the remote operator remotely causing the robotic golf club swing fixture to swing the coupled golf club according to the set of swing parameters set via the GUI; sensing, by the processor, a result of the swinging of the coupled golf club; and, transmitting, by the processor, data derived from the sensed result to the remote operator for display in the web browser on the computing device over the computer communications network, wherein the result is a sensed performance of the golf club.
 29. The method of claim 28, wherein the result further includes a resulting location of a golf ball struck by the coupled golf club subsequent to the swinging of the coupled golf club.
 30. The method of claim 28, wherein a swing parameter of the set of swing parameters is direction.
 31. The method of claim 28, wherein a swing parameter of the set of swing parameters is shot shape indicating a shape of a shot of a golf ball in reference to golf ball flight upon a golf club making contact with the golf ball.
 32. The method of claim 28, further comprising calculating, by the processor, data derived from the sensed result.
 33. The method of claim 28, wherein the data derived from the sensed result includes a resulting location of a golf ball struck by the swung golf club coupled to the plurality of robotic arms of the robotic golf club swing fixture.
 34. The method of claim 33, wherein the resulting location of the golf ball is a distance to a hole.
 35. The method of claim 28, wherein transmitting, by the processor, the data derived from the sensed result to the remote operator for display in the web browser on the computing device over the computer communications network comprises: transmitting, by the processor, the sensed result to a golf simulator comprising program code executed by the processor; calculating, by the golf simulator, the data derived from the sensed result; and, displaying, by the golf simulator, a theoretical movement of a golf ball to the remote operator.
 36. The method of claim 35, wherein displaying, by the golf simulator, the theoretical movement of the golf ball to the remote operator, comprises displaying at least one of a swing of the coupled golf club, a trajectory of the golf ball, and a resulting location of the golf ball without requiring the golf ball and the robotic golf club swing fixture to be located outside.
 37. The method of claim 35, wherein displaying, by the golf simulator, the theoretical movement of the golf ball to the remote operator, comprises displaying at least one of an accuracy of the golf ball to a hole, a distance to the hole, and a player whose golf ball landed closest to the hole.
 38. A remote golf club swinging system comprising: a server configured for communicative coupling to a web server and a computing device; a robotic golf club swing fixture comprising at least one servo motor coupled to a controller and at least one data capture apparatus coupled to the controller, each servo motor coupled to a plurality of robotic arms, each of the plurality of robotic arms coupled to a golf club; and, a golf club swinging module executing in a memory of the server and also coupled to the robotic golf club swing fixture, the golf club swinging module comprising program code enabled to receive from a remote operator over a computer communications network a set of swing parameters in response to the remote operator setting the set of swing parameters in a graphical user interface (GUI) in a web browser on the computing device remotely disposed from the robotic golf club swing fixture, to direct the plurality of robotic arms of the robotic golf club swing fixture to swing the coupled golf club resulting in the remote operator remotely causing the robotic golf club swing fixture to swing the coupled golf club according to the set of swing parameters set via the GUI, to sense a result of the swinging of the coupled golf club, and to transmit data derived from the sensed result to the remote operator for display in the web browser on the computing device over the computer communications network, wherein the result is a sensed performance of the golf club.
 39. The system of claim 38, wherein the result further includes a resulting location of a golf ball struck by the coupled golf club subsequent to the swinging of the coupled golf club.
 40. The system of claim 38, wherein a swing parameter of the set of swing parameters is direction.
 41. The system of claim 38, wherein the robotic golf club swing fixture has one robotic arm.
 42. The system of claim 38, further comprising a golf simulator coupled to the server.
 43. The system of claim 38, further comprising a golf simulator coupled to the controller.
 44. A computer program product for remotely swinging a golf club, the computer program product comprising: a non-transitory computer readable storage medium containing computer instructions stored therein for causing a computer processor to perform: receiving, by the computer processor coupled to a robotic golf club swing fixture, from a remote operator over a computer communications network a set of swing parameters in response to the remote operator setting the set of swing parameters in a graphical user interface (GUI) in a web browser on a computing device remotely disposed from the robotic golf club swing fixture; directing, by the computer processor, a plurality of robotic arms of the robotic golf club swing fixture to swing a coupled golf club resulting in the remote operator remotely causing the robotic golf club swing fixture to swing the coupled golf club according to the set of swing parameters set via the GUI; sensing, by the computer processor, a result of the swinging of the coupled golf club; and, transmitting, by the computer processor, data derived from the sensed result to the remote operator for display in the web browser on the computing device over the computer communications network, wherein the result is a sensed performance of the golf club.
 45. The computer program product of claim 44, wherein a swing parameter of the set of swing parameters is shot shape indicating a shape of a shot of a golf ball in reference to golf ball flight upon a golf club making contact with the golf ball.
 46. The computer program product of claim 44, wherein the result further includes a resulting location of a golf ball struck by the coupled golf club subsequent to the swinging of the coupled golf club.
 47. A remote golf club testing method comprising: receiving, by a processor executing in a memory of a computer and coupled to a robotic golf club swing fixture, from a remote operator over a computer communications network a set of swing parameters in response to the remote operator setting the set of swing parameters in a graphical user interface (GUI) in a web browser on a computing device remotely disposed from the robotic golf club swing fixture; directing, by the processor, a plurality of robotic arms of the robotic golf club swing fixture to swing a coupled golf club resulting in the remote operator remotely causing the robotic golf club swing fixture to swing the coupled golf club according to the set of swing parameters set via the GUI; sensing, by the processor, performance of the golf club; and, transmitting, by the processor, data derived from the sensed performance to the remote operator for display in the web browser on the computing device over the computer communications network. 